package com.senlingspace.system.mapper;

import java.util.List;

import com.senlingspace.system.domain.SlkjShop;
import com.senlingspace.system.domain.dto.SlkjShopDto;
import com.senlingspace.system.domain.dto.ShopResponse;
import com.senlingspace.system.domain.vo.SlkjShopVo;
import org.apache.ibatis.annotations.Param;

/**
 * 门店Mapper接口
 *
 * @author SenlingSpace
 * @date 2024-06-27
 */
public interface SlkjShopMapper {


    List<ShopResponse> selectShopsByDeptIdAndDelFlag(@Param("deptId") Long deptId);

    /**
     * 查询门店
     *
     * @param shopId 门店主键
     * @return 门店
     */
    public SlkjShop selectSlkjShopByShopId(Long shopId);



     /**
     * 抖音商家id或者抖音门店id查询绑定的门店
     *
     * @param slkjShop 门店
     * @return 门店
     */
    public SlkjShop selectSlkjShopByDouyin(SlkjShop slkjShop);



    /**
     * 查询门店列表
     *
     * @param slkjShopDto 门店
     * @return 门店集合
     */
    public List<SlkjShopDto> selectSlkjShopList(SlkjShopDto slkjShopDto);

    /**
     * 新增门店
     *
     * @param slkjShop 门店
     * @return 结果
     */
    public int insertSlkjShop(SlkjShop slkjShop);

    /**
     * 修改门店
     *
     * @param slkjShop 门店
     * @return 结果
     */
    public int updateSlkjShop(SlkjShop slkjShop);

    /**
     * 删除门店
     *
     * @param shopId 门店主键
     * @return 结果
     */
    public int updateSlkjShopByShopId(Long shopId);

    /**
     * 批量删除门店
     *
     * @param shopIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSlkjShopByShopIds(Long[] shopIds);

    /**
     * 根据门店ID集合获取
     *
     * @param storeIds
     * @return
     */
    List<SlkjShop> selectSlkjShopListByIds(@Param("storeIds") List<Long> storeIds);

    int updateStatus(@Param("status") String status, @Param("id") Long id);

    List<SlkjShopVo> selectSlkjShopByDeptIdList(Long deptId);

    List<SlkjShop> selectSlkjShopByDeptIdLists(Long deptId);

    SlkjShop selectSlkjShopByDeptId(Long deptId);

    List<Long> selectShopIdByDeptId(@Param("deptIds") List<Long> deptIds);

    List<SlkjShopVo> selectSlkjShop();
}
